/**
 * 
 */
package network;

import ctf.network.ProtocolError;


/**
 * Interface between Network layer and Simulator for passing received commands.
 * @author N. Bhatia, A. Butt, N. Evans, C. Levesque, P. OKeefe
 *
 */
public interface IMessageListener {

	/**
	 * Informs simulator of an available message.
	 * @param clientID The ID of the requesting client
	 * @param message The STEAL command
	 * @throws ProtocolError 
	 */
	public void messageReceived(int clientID, String message)
			throws ProtocolError;

	/**
	 * Registers the current client with the simulator
	 * @param clientID The ID to register
	 */
	public void registerClient(int clientID);
	
	/**
	 * Resets the implementing listener.
	 */
	public void resetListener();

}
